#输入一个矩阵，按照从外向里以顺时针的顺序依次打印出每一个数字，例如，如果输入如下4 X 4矩阵：
# 1   2  3  4
# 5   6  7  8
# 9  10 11 12
# 13 14 15 16
#
# 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.


def printMatrix(matrix):
    result = []
    while matrix:
        if len(matrix[0])!=0:
            result.append(matrix[0].pop(0))
        else:
            matrix.pop(0)
            if len(matrix) == 0:
                break
            matrix=reverse(matrix)
    return result

# 自己写了一个行列转换，而且是从最后开始，这样，每次都pop出来，到头了再转换，就可以了
def reverse(matrix):
    new_c = len(matrix)
    new_r = len(matrix[0])
    new_mat = []
    for i in range(new_r-1,-1,-1):
        temp_mat = []
        for j in range(new_c):
            temp_mat.append(matrix[j][i])
        new_mat.append(temp_mat)

    # print(new_mat)
    return new_mat



my_matrix = [[1,2,3],[4,5,6],[7,8,9]]
print(printMatrix(my_matrix))